package com.hit.eduService.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hit.eduService.entity.EduCourse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hit.eduService.entity.frontVo.CourseQueryVo;
import com.hit.eduService.entity.frontVo.CourseWebVo;
import com.hit.eduService.entity.vo.CourseInfoVo;
import com.hit.eduService.entity.vo.CoursePublishVo;

import java.util.Map;

/**
 * <p>
 * 课程 服务类
 * </p>
 *
 * @author testjava
 * @since 2022-11-04
 */
public interface EduCourseService extends IService<EduCourse> {

    //添加课程基本信息（包括edu_course表和edu_course_description表）
    public String saveCourseInfo(CourseInfoVo courseInfoVo);

    //根据传入的课程id，返回对应的CourseInfoVo对象
    public CourseInfoVo getCourseInfo(String id);
    //课程修改，修改课程id以外的信息，需要更改edu_course表和edu_course_description表
    public void updateCourseInfo(CourseInfoVo courseInfoVo);

    CoursePublishVo publishCourseInfo(String id);

    //删除课程（根据id删除课程，需要删除相关的小节、课程描述、课程、章节）
    void deleteCourse(String courseId);

    Map<String, Object> getCourseFrontList(Page<EduCourse> pageCourse, CourseQueryVo courseQueryVo);

    CourseWebVo getBaseCourseInfo(String courseId);
}
